package com.aquarium.application;

import java.util.Collection;

import com.aquarium.metier.Espece;
import com.aquarium.metier.EspeceDAO;
import com.aquarium.metier.EspeceDTO;

public class GererEspeceCtrl implements CtrlSkeleton<EspeceDTO> {
	protected EspeceDAO unEspeDAO = new EspeceDAO();
	protected Espece unEspe = new Espece();
	protected EspeceDTO unEspeDTO = new EspeceDTO();
	

	@Override
	public void createObj(EspeceDTO Objet) throws NicheAPoissonsException, HelperException {
		unEspe = HelperEspece.toEspece(Objet);
		unEspeDAO.createObj(unEspe);
	}
	
	@Override
	public EspeceDTO retreiveObj(int identifiant) throws NicheAPoissonsException, HelperException {
		unEspe = unEspeDAO.retreiveObj(identifiant);
		return HelperEspece.toEspeceDTO(unEspe);
	}
	public EspeceDTO retreiveObjByNom(String nom) throws NicheAPoissonsException, HelperException {
		unEspe = unEspeDAO.retreiveObjByNom(nom);
		return HelperEspece.toEspeceDTO(unEspe);
	}
	
	@Override
	public void updateObj(EspeceDTO Objet_a_modifier)
			throws NicheAPoissonsException, HelperException {
		unEspe = HelperEspece.toEspece(Objet_a_modifier);
		unEspeDAO.updateObj(unEspe);
		
	}
	
	@Override
	public void deleteObj(int Identifiant) throws NicheAPoissonsException{
		unEspeDAO.deleteObj(Identifiant);
	}
	
	@Override
	public Collection<EspeceDTO> retreiveAllObj()
			throws NicheAPoissonsException, HelperException {
		Collection<EspeceDTO> uneListEspece = HelperEspece.toAquariumDTO(unEspeDAO.retreiveAllObj());
		return uneListEspece;
	}
	
	@Override
	public void deleteAllobj() throws NicheAPoissonsException {
		unEspeDAO.deleteAllobj();
	}
	
	
}
